1. Field of the Invention
This invention relates generally to optical storage media, and more particularly to methods and computer readable media for writing and reading to and from compact disc (CD) media.
2. Description of the Related Art
In recent years, compact disc (CD) recording technology has made substantial advancements that have enabled casual computer users to record all types of digital data to the CD media. As is well known, there are several types of CD media recording standards and associated media. For example, ISO-9660 (also known as ECMA-119) provides a file system for CD-ROMs. Specifically, the ISO 9660 provides a standard specifying how data shall be structured on a CD-ROM. Most platforms such as Microsoft Windows(copyright) and DOS(copyright) can read CD-ROM discs conforming to the ISO 9660.
However, the ISO 9660 standard does not provide means for changing or adding data on CD-ROMs. To overcome such limitations, the OSTA Universal Disk Format (UDF) has been created to implement ISO-13346 (also known as ECMA-167). Whereas ISO-13346 is a broad, general standard for storing information on any medium, the UDF specifically provides a standard for storing data not only on CD-ROMs but also on recordable and rewritable optical discs such as CD-Recordable (CD-R) and CD-Rewritable (CD-RW) as well as DVDs. Writing data in accordance with the UDF standard provides great flexibility in terms of transferring data between a CD medium and other storage devices, such as hard disks and floppy disks.
The CD-R and CD-RW discs differ in the manner data can be written. Specifically, CD-R disc is a write once media where data can be recorded only once over a single session or during multiple sessions. This is because the data that is digitally written to the CD-R causes a permanent change in the properties of the CD-R. This change in property is often referred to as the xe2x80x9cburningxe2x80x9d of data onto the CD.
On the other hand, data can be written and rewritten on a CD-RW disc much like a hard disk or a floppy disk. That is, data may be written to the CD-RW and then erased and recorded again repeatedly. This is because the CD-RW, unlike CD-R, performs recording by making use of phase change materials in its recording layer. When the phase change material is irradiated by a laser beam, the data can be erased (crystal phase) and recorded (amorphous phase). Then, by way of differences in the reflectivity of either the crystal phase or amorphous phase, the data stored on the media can be read. However, data recorded on CD-RW media is typically not readable by standard CD-ROM drives due, for example, to differences in the wavelengths in the laser pickup units.
For writing to optical discs such as CD-R and CD-RW discs, the UDF standard provides writing in xe2x80x9cincremental packet mode,xe2x80x9d which is well known and described in detail in UDF standards such as UDF 1.5 and 2.0, which are incorporated herein by reference. In the incremental packet mode, data is written in units of packets. The writing of data in units of small packets provides a more efficient means for writing data onto CD-R and CD-RW discs. For example, before the implementation of incremental packet mode, if a data stream is interrupted while writing the data to a CD-R disc, for example, the disc was no longer usable. In incremental packet mode writing, however, if a data stream is interrupted while writing data packet to the CD-R disc, only the interrupted packet becomes useless. In this case, new packets may be written after the interrupted packet such that the disc still contains useful data.
In general, optical discs are substantially cheaper than other mass storage media such as hard disk drives of comparable size. Consequently, the optical discs are being widely used to store data for a variety of purposes. For example, the CD-R and CD-RW discs are frequently used to backup one or more hard disk drives in a computer system. Additionally, the CD-R and CD-RW media may be used to store custom software for distribution. The data stored in the CD-R and CD-RW media may then be restored or installed on a computer system.
Restoring or installing data from optical media, however, often requires the use of a separate boot disk such as a floppy disk. For example, to restore data in a disaster recovery situation generally requires the user to insert a boot floppy disk to load an operating system before accessing the optical discs. In addition, installing a custom software from a CD-R or CD-RW disc often requires booting up the computer system by inserting a boot disk.
One prior art standard called xe2x80x9cEl Toritoxe2x80x9d defines a specification for a bootable CD-ROM format and is available from Phoenix Technologies and IBM. Specifically, the El Torito standard, also known as xe2x80x9cCD/OS,xe2x80x9d specifies a bootable CD-ROM format that allows a computer system to boot up from a CD-ROM, which conforms to the El Torito standard. Thus, a separate floppy boot disk is not required. The El Torito standard is well known in the art and is incorporated herein by reference.
Unfortunately, however, the El Torito standard does not provide a solution for booting up from a CD-R or CD-RW media that conform with the UDF standard. In particular, the El Torito standard is not applicable to CD-R or CD-RW discs that are written using incremental packet writing mode. Instead, the El Torito specification is directed to providing a bootable CD-ROM only.
In view of the foregoing, there is a need for methods of writing CD-R and/or CD-RW media in an incremental packet mode to allow computers to boot up from these media without a dedicated boot disk.
Broadly speaking, the present invention fills these needs by providing methods and computer readable media for writing data to write once media or re-writable media in an incremental packet mode to allow computers to bootup from the such media without a dedicated boot disk. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, computer readable media, or a device. Several inventive embodiments of the present invention are described below.
In one embodiment, the present invention provides a method for writing incremental packet data to create a bootable optical medium. In this method, a first track is reserved in an optical medium. Additionally, a first track gap after the first track is reserved in the optical medium. After reserving the first track and first track gap, a boot catalog and a boot image are written onto a second track in the optical medium. The boot catalog includes a first pointer to the location of the boot image. Further, the boot catalog and the boot image are written so that the boot image is written contiguously without interruption. Preferably, the second track is written in a track-at-once mode to ensure that the boot image is written without interruption. Alternatively, the second track may be written in a streaming mode in a single packet after writing the first track and track gap. This also ensures that the boot image is written without interruption. Then, the first reserved track is written by writing a primary volume descriptor, a boot record volume descriptor, and a first anchor volume descriptor pointer. The boot record volume descriptor includes a second pointer to the location of the boot catalog.
In another embodiment, the present invention provides a computer implemented method for writing packet data to a recordable compact disc. The method includes: (a) reserving a first track and a first track gap in a recordable optical disc; (b) writing a boot catalog and a boot image onto a second track in the recordable optical disc, the boot catalog including a first pointer to the location of the boot image, the boot catalog and the boot image being written in a track-at-once mode so that the boot image is written continuously without interruption by other data; (c) writing a second track gap after the second track in the optical disk; (d) opening a variable length packet track and sequentially writing data in an incremental packet mode in the variable length packet track; and (e) writing a primary volume descriptor, a boot record volume descriptor, and a first anchor volume descriptor pointer onto the reserved first track, wherein the boot record volume descriptor includes a second pointer to the location of the boot catalog.
In yet another embodiment, a computer readable medium having program instructions for creating a bootable optical disc is disclosed. The program instructions in the computer readable medium comprising: (a) program instructions for reserving a first track and a first track gap in a compact disc; (b) program instructions for writing a boot catalog and a boot image onto a second track in the recordable compact disc, the boot catalog including a first pointer to the location of the boot image, the boot catalog and the boot image being written such that the boot image is written continuously without interruption by other data; and (c) program instructions for writing a primary volume descriptor, a boot record volume descriptor, and a first anchor volume descriptor pointer onto the reserved first track, wherein the boot record volume descriptor includes a second pointer to the location of the boot catalog. The second track may be written in either a track-at-once mode or a streaming mode to ensure that the boot image is written continuously without interruption.
Advantageously, the present invention allows computer systems to boot up directly from optical medium (e.g., CD-R, CD-RW discs) without using a dedicated bootup disk. In addition, by using track-at-once mode to write one or more boot images in combination with a variable length packet track, the methods of the present invention ensures that the boot images are not interrupted. Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.